package br.unifor.cct.mia.evolutionary;

import java.io.Serializable;

import br.unifor.cct.mia.util.Configurations;


public abstract class Individual implements Serializable {
	
	public double fitness;
	public double selectProbability;
	public Configurations configurations;

	/**
	 * Apenas utilizado no Repeatable memory
	 */
	private int speciesCount;
	
	public int getSpeciesCount() {
		return speciesCount;
	}

	public void setSpeciesCount(int speciesCount) {
		this.speciesCount = speciesCount;
	}
	
	public double getFitness() {
		return fitness;
	}

	public void setFitness(double fitness) {
		this.fitness = fitness;
	}

	public Configurations getConfigurations() {
		return configurations;
	}

	public void setConfigurations(Configurations configurations) {
		this.configurations = configurations;
	}

	public double getSelectProbability() {
		return selectProbability;
	}

	public void setSelectProbability(double selectProbability) {
		this.selectProbability = selectProbability;
	}
	
	public abstract Object clone();
	
}
